package com.xiao.dao;

import com.xiao.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**** 创建者：  流汗文
 * 创建时间6.29   9.02
 * 作用：主要功能为创建课程
 * 帅不帅：帅
 */
public interface CreateClassMapper {
    //创建班级模块
    //创建班级第一步是创建班级名称，当我们注册app选了身份以后，uid就有了
    //当我们创建年级时，首先前台发送请求获取所有年级与类型
    List<Gradetype> findgradeandtype();
    // 当前台将年级名字传进来  我们需要根据传进来的名字查询gradeid
    int findgradeid(@Param("gradename") String gradename);
   //首先要根据学科名字查询学科id
    int findsubjectid(@Param("subjectname") String subjectname);
    //加入学校前得先模糊查学校名字
    List<School> queryschoolname(@Param("schoolname") String schoolname);
    //根据学校名字查询学校id
    int findschoolid(@Param("schoolname") String schoolname);
    //最后一步.创建班级
    int createclassname(@Param("classname") String classname,@Param("gradeid")int gradeid,@Param("subjectid")int subjectid,@Param("schoolid")int schoolid,@Param("uid")long uid);

    //查询所有年级类型
    List<Gradetype> findAllGradetype();

// 创建考试模块
// 第一步：根据课程名字查询课程id
    int findclassid(@Param("classname") String classname);
//第二步;根据学科名字查询学科id  上面有了
    //第三步:根据考试类型名字查询考试类型id
    int findexamtypeid(@Param("examtypename") String examtypename);
    //第四步 组装在一起添加
    int createexam(@Param("classid") int classid,@Param("subjectid")int subjectid,@Param("examname") String examname,@Param("examtypeid") int examtypeid);

    //添加考试成绩信息(多添加)
    int AddResultcensus(@Param("lists") List<Resultcensus> lists);



//通讯录模块
 //一:点击通讯录，就要出现所有本班的学生  根据classname查询本班的(uid)   该方法已失效
//    List<Classrelation> findourclassuid(@Param("classid")long classid);
    //根据查询到的uid查询本班所有人信息信息
//    List<User> findstudentinfo(@Param("list") List<User> list);
    //请出班级 即删除班级关联表里的学生
    int delstudent(@Param("uid") long uid);
    //修改权限  修改权限有三个  修改为老师，修改为家长，修改为学生
    //通讯录模块一 查询该班级所有学生与老师信息
    List<User> findallinfo(@Param("classid") long classid);


    //修改老师权限部分
    int updateweiteacher(@Param("uid") long uid);
    //修改老师任教学科 修改班级内权限，这里分为两个部分
    int updateteachersubject(@Param("uid") long uid);
    int updateweimointer(@Param("uid") long uid);
    int updateweicommon(@Param("uid") long uid);

    //修改权限部分还有一个转让班级 转让班级必须转给班里的老师
//    int transferclass(@Param("classname") String classname);
    //修改老师任教学科部分,首先根据前台传来的学科名字查询该学科的id
    int querysubjectid(@Param("subjectname") String subjectname);
    //然后将该老师的学科id修改为我们查到的id
    int  updatestudentsubjectid(@Param("uid") long uid,@Param("subjectid") int subjectid);
    //通讯录模块还有一个搜索框 实现搜索功能分两步  第一步先查班级联系表中的id 第二步根据查到的id去users表查询名字
    List<User> queryuser(@Param("nickname") String nickname,@Param("classid") int classid);









}
